今日は算数の話。
twitterでフォローしている人が、「1曲の長さが5分の曲がライブラリに1000曲あるとして、ランダム再生で一度も再生されてない曲数が10曲以下になるまで何時間かかる?」というつぶやきを流したんですよね。
私もiPodでランダム再生で毎日音楽聴いてて、なんか同じ曲が何度も出てくるような気がするし、ぜんぜん出てこない曲もあるような気がするし、いったいホントにランダムなんだろうか、どれくらい聞いてればiPodに入ってる全曲を聴けるんだろうか、と思っていたところなので、この際マジメにこの問いを解いてみることにしたんですよ。幸い、私のiPodの中に入ってる曲も約1000曲だし。
で、せっかく解いたので、私の解法をメモっておきます。間違ってたらごめんなさい。
* * *
簡略化のため、まず、10曲ライブラリをランダム再生して、9曲演奏されてしまうまでに何回再生すべきか、で考えてみる。
10曲を普通にn回ランダム再生した場合のパターンの数:10^n
10曲から9曲を選んでn回ランダム再生するパターンの数:C(10,9)*9^n
で、10^n > C(10,9)*9^n になるnを求めればいい。メンドクサイので等式にして10^n = C(10,9)*9^nをnについて解く。
C(10, 9)=10なので、
(中略)
n=1/(1-log9)=21.85...
まあ、確率的には22回再生すれば9曲は出現する可能性が高い、ということになるのか。
で、これを「X曲のライブラリをランダム再生して、Y曲聴き終わるためにはn回再生する必要がある。」と一般化すると、
n=log(C(X,Y))/(logX-logY)
1000曲のライブラリで990曲聴き終わるためには、
n=log(C(1000,990))/(log1000-log990)=5365.79...
(ちなみに、C(X,Y)=X!/(Y!*(X-Y)!) )
ということで、5366回くらい再生すれば、990曲は聴けると。
1曲5分とすれば、5分×5366=約18.63日。
ちなみに、1000曲全部聴こうと思ったら、要は999曲以上聴く、と考えればよいので、
n=log(C(1000,999))/(log1000-log999)=6904.3...
5分×6904.3...=23.97...日
連続24日間くらい聴いてれば、全曲聴ける可能性が高くなるんだね。そんなもんか。
・・・って、1000曲聴きたいのならば、ランダム再生せず素直に頭から順番にシークエンス再生すれば、1曲5分ならば1000曲は5000分、約3.472日あれば全部聴けるんですけどね。
No comments:
Post a Comment